Java 如何将按钮添加到已经可见的jPanel?
我正在尝试向已经可见的jPanel添加按钮。但是,以下代码不起作用;我看不到第二个按钮Java 如何将按钮添加到已经可见的jPanel?,java,swing,button,jpanel,actionlistener,Java,Swing,Button,Jpanel,Actionlistener,我正在尝试向已经可见的jPanel添加按钮。但是,以下代码不起作用;我看不到第二个按钮 ja.addActionListener(new ActionListener () { public void actionPerformed(ActionEvent e) { klicks++; if(klicks == 35) { panel.add(nein)
ja.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e) {
klicks++;
if(klicks == 35) {
panel.add(nein);
ja.setForeground( Color.red );
frame.repaint();
panel.repaint();
}
if(klicks > 35) {
nein.setText("Beenden");
ja.setText("FAIL");
}
}});
}
有人能帮忙吗?您的问题很模糊,但看起来您正在修改一个已经可见的面板(即,已经添加到可见容器的层次结构中)。在这种情况下,你应该打电话
panel.revalidate();
panel.repaint();
根据您提供的代码,不清楚您试图做什么。你能把全部代码都贴出来吗 您需要将按钮创建为新对象,例如:
JButton button1 = new JButton("button1");
然后将其添加到窗格。我在您发布的代码中看不到一个按钮,因为klicks是在哪里定义的?不在JButton中吗?听起来可能是这样。
nein
您想添加的按钮是不是?@Lennart Schoch对于大多数JComponents来说不需要调用repaint(),但只有对于没有更改属性的普通JComponents,重新验证(repaint)对CPU和GPU来说是相当困难的,一旦Swing GUI中的所有更改完成,就把它作为最后一行代码来调用