我知道如何为摇摆中的按钮点击操作动作侦听器,但我有这个类做了一些东西,但我想要一个函数/事件,当单击一个按钮时,它运行一个类似于下面的PaintComponent的方法......(划一条线)
class CustomPanel extends JPanel {
private int destx = 100;
private int desty = 100;
private int startx = 0;
private int starty = 0;
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(startx, starty, destx, desty);
}
}
如何从动作侦听器中调用此paintcomponent(或类似的绘制线条)?
这是我的actionlistener :(它在GUI.java上,而上面的代码在CustomPanel.java上)
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == loginButton)
{
//Does other stuff but removed for simplifying
CustomPanel cp = new CustomPanel();
}
}
非常感谢,
答案 0 :(得分:0)
你需要把它添加到gui。像这样:
SwingUtilities.invokeLater(new Runnable() {
public void run() {
parentPanel.add(new CustomPanel());
parentPanel.revalidate();
parentPanel.repaint();
}
});
但是如果你只想在当前容器上画一条线,这是另一回事......
答案 1 :(得分:0)
只需将CustomPanel
添加到任何其他JComponent
并更新用户界面即可。 Swing为您照顾所有的画作。
这是一个非常有用的摆动画作指南;
http://java.sun.com/products/jfc/tsc/articles/painting/#paint_process
答案 2 :(得分:0)
在你的上一篇文章中,你的问题对我没有意义,在这篇帖子中对我来说仍然没有意义。
您仍然没有发布试图证明您想要做的事情的SSCCE。
如果您有“登录面板”,通常可以通过创建模态JDialog来完成。
如果您尝试在框架中的所有组件的顶部绘制对角线,则需要使用“玻璃”窗格或“分层”窗格。
阅读How to Use Root Panes上Swing教程中的部分以获取示例和更多详细信息。