java画板,如何将画板透明 但所画的线不随之透明

qq_41661432 2018-01-24 09:49:52
还有另一个问题,为什么在代码的开头部分,添加的文本框在显示结果中并没有运行出来

import java.awt.*;
import java.awt.event.*;

import java.awt.Graphics;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import javax.swing.JOptionPane;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Shape;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.RoundRectangle2D;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import javax.swing.JOptionPane;
public class TestMouseKey extends Frame {


/**
*
*/
private static final long serialVersionUID = 1L;
private JTextField
JTextField =new JTextField(500);
JTextField txt1=new JTextField(10);
JTextField txt2=new JTextField(10);
JTextField txt3=new JTextField(10);
JTextField txt4=new JTextField(500);
void JTextFiled(){
setLayout(new FlowLayout());

add(txt1);
add(txt2);
add(txt3);
add(txt4);
}
int startX,startY,endX,endY;

TestMouseKey() {

final Frame f = new Frame("电子白板");
f.setAlwaysOnTop(true);

f.setLocationRelativeTo(null);
f.setVisible(true);
if (com.sun.awt.AWTUtilities.isWindowOpaque(f))
{
// 设置窗体透明化, 透明参数值[0, 1](float类型)
com.sun.awt.AWTUtilities.setWindowOpacity(f, 0.9f);
} else {
JOptionPane.showMessageDialog(this, "系统不支持 JDK版本过低或JRE系统库缺损");}

f.addMouseListener(new MouseAdapter(){

public void mousePressed(MouseEvent e){

startX = e.getX();

startY = e.getY();

}

public void mouseReleased(MouseEvent e){

Graphics g = f.getGraphics();

endX = e.getX();

endY = e.getY();

g.drawLine(startX,startY,endX,endY);

}


});



f.addMouseMotionListener(new MouseAdapter(){

public void mouseDragged(MouseEvent e){

endX = e.getX();

endY = e.getY();

f.getGraphics().drawLine(startX,startY,endX,endY);

startX=endX;

startY=endY;

}


});

f.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});



Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension dm = toolkit.getScreenSize();
this.setSize(dm); //将画板变为全屏大小
this.setUndecorated(true);

f.setVisible(true);

}

private void setDefaultCloseOperation(int i) {
// TODO Auto-generated method stub

}

public static void main(String args[]){

new TestMouseKey();

}

public JTextField getJTextField() {
return JTextField;
}

public void setJTextField(JTextField jTextField) {
JTextField = jTextField;
}
}
...全文
526 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_41661432 2018-01-24
  • 打赏
  • 举报
回复
求大佬解答,另 如果再透明一点就是这样,透明程度如图

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧