Im настоящий новичок в java-кодировании и для небольшого проекта Я бы хотел, чтобы следующий код был неприкосновенным, например. все, что находится за кадром (и его содержимое), можно щелкнуть. Но я не знаю, как это сделать! Я искал везде, но ничего не нашел.Как сделать JFrame неосязаемым?
import java.awt.*;
import java.swing.*;
public class swag {
static Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
public static void main(String[] args)throws Exception{
JLabel lb = new JLabel();
lb.setFont(new Font("Century Gothic",Font.PLAIN,50));
lb.setHorizontalAlignment(SwingConstants.CENTER);
lb.setForeground(Color.WHITE);
lb.setBackground(Color.BLACK);
JFrame f = new JFrame();
f.setSize(dim.width,100);
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
f.setUndecorated(true);
f.add(lb);
f.setVisible(true);
int r=255;int g=0;int b=0;
int a=80;int t=15;
while(true){
while(true){
lb.setText((System.currentTimeMillis()+""));
f.setBackground(new Color(r--,g++,0,a));
Thread.sleep(t);
if(r==0&&g==255){break;}
} while(true){
lb.setText((System.currentTimeMillis()+""));
f.setBackground(new Color(0,g--,b++,a));
Thread.sleep(t);
if(g==0&&b==255){break;}
} while(true){
lb.setText((System.currentTimeMillis()+""));
f.setBackground(new Color(r++,0,b--,a));
Thread.sleep(t);
if(b==0&&r==255){break;}
}}}
}//class
Примечание: не работали на эффективность еще :)
Если вы хотите, чтобы кадр был прозрачным для событий, то я не думаю, что это возможно, лучшее, что вы можете сделать, это использовать 'java.awt.Robot' класс для обнаружения щелкнул экран местоположения, а затем, если это на кадре используйте робот, чтобы воспроизвести его за ним. – 11thdimension
Я думал об этом, но как только весь синий код печати вышел, я планирую сделать его более эффективным. Я могу представить, что это займет много B с этими слушателями. – jazzboy
Я не знаю, что вы подразумеваете под B, но да, это займет 2 слушателя, мышь и клавиатура. Также по моему опыту робот не является надежным, как только окно, загруженное роботом, сведено к минимуму, иногда оно перестает слушать. Лучшим решением было бы реализовать что-то в C/C++ и использовать это для обнаружения событий и загрузки его на Java с помощью JNI – 11thdimension