我对 Java 有点陌生(我只有处理经验),我有一个问题。
我正在 Eclipse 中构建一个小型任务规划应用程序。我正在使用 MigLayout。每个任务都有自己的行(见图)。我使用三个类:TaskRowDone、TaskRowBusy 和 TaskRowToDo。
public HoofdScherm() {
initialize();
drawDone();
drawBusy();
drawToDo();
drawNewBtn();
}
上面的代码绘制了主屏幕。下面的代码绘制了标记为“Nieuwe taak”(新任务)的按钮。我希望能够单击此按钮来创建新的任务行。我尝试将行 TaskRowToDo trtd3 = new TaskRowToDo(5, true, "test", 3);
和 trtd3.draw()
放在 actionPerformed 中
按钮的功能(作为测试的一种方式),但这似乎没有做任何事情。程序是否只运行“HoofdSchem”内部的函数一次,然后停止绘制?如果是这种情况,我该如何构建程序以便始终可以更改布局?我在“HoofdScherm”内尝试了 while(true) 循环,因此它一直循环,但这当然导致了计算机崩溃。
private void drawNewBtn(){
JButton btnNew = new JButton("Nieuwe taak");
btnNew.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("New task added");
}
});
frmPlanner.getContentPane().add(btnNew, "cell 3 7");
}
最佳答案
我发现我需要使用 revalidate() 和 repaint() 来重绘框架。来源:Java Swing revalidate() vs repaint()
关于java - 如何使用Java中的按钮实例化对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34293960/