java动态显示JLabel
我有一个钮扣。如果单击此按钮,将出现一个弹出窗口。弹出窗口要求我写一个单词。如果我写一个单词6个字母,会出现6个jlabel,但如果我输入另一个较短的单词,jlabel不会消失 我想我的JLabel可能会随着一个较短的单词而减少,但我不知道:( 谢谢你的大力帮助java动态显示JLabel,java,swing,dynamic,jbutton,jlabel,Java,Swing,Dynamic,Jbutton,Jlabel,我有一个钮扣。如果单击此按钮,将出现一个弹出窗口。弹出窗口要求我写一个单词。如果我写一个单词6个字母,会出现6个jlabel,但如果我输入另一个较短的单词,jlabel不会消失 我想我的JLabel可能会随着一个较短的单词而减少,但我不知道:( 谢谢你的大力帮助 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { //
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//BUTTON 1 WORD
Controller c = new Controller();
try {
final JFrame popup = new JFrame();
//display popup
word = JOptionPane.showInputDialog(popup, "Enter one word", null);
//control the length of the word
c.controleW(word);
//display jlabel lenght of word
keyNumber.setText(String.valueOf(word.length()));
//JLabels displays depending on the word length
int pixels = 50;
for (int i = 0; i < word.length(); i++) {
label = new JLabel("_");
label.setBounds(pixels, 200, 30, 30);
add(label);
label.repaint();
pixels += 20;
}
} catch (Exception e) {
System.out.println(e);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
//按钮1字
控制器c=新控制器();
试一试{
最终JFrame弹出窗口=新JFrame();
//显示弹出窗口
word=JOptionPane.showInputDialog(弹出“输入一个单词”,null);
//控制单词的长度
c、 controleW(word);
//显示jlabel字长
keyNumber.setText(String.valueOf(word.length());
//JLabels根据字长显示
整数像素=50;
for(int i=0;i
我的班级控制单词的长度
public String controleW(String word) {
boolean flag = false;
final JFrame popup = new JFrame();
while (flag == false) {
if (word.length() <= 3) {
word = JOptionPane.showInputDialog(popup, "Enter one word", null);
} else {
flag = true;
}
};
return null;
}
公共字符串控件ew(字符串字){
布尔标志=假;
最终JFrame弹出窗口=新JFrame();
while(flag==false){
如果(word.length()您总是在方法中添加标签,而从不删除任何标签,那么运行两次代码确实会添加两次标签。要修复它,您只需添加一个removeAll()在jbutton1Action中,在添加任何标签之前执行。您总是在方法中添加标签,从不删除任何标签,因此运行两次代码确实会添加两次标签。要修复此问题,只需添加一个removeAll()在jbutton1Action中,在添加任何标签之前执行。您总是在方法中添加标签,从不删除任何标签,因此运行两次代码确实会添加两次标签。要修复此问题,只需添加一个removeAll()在jbutton1Action中,在添加任何标签之前执行。您总是在方法中添加标签,从不删除任何标签,因此运行两次代码确实会添加两次标签。要修复此问题,只需添加一个removeAll()
在jbutton1中添加任何标签之前执行操作。这确保删除以前添加的任何组件。看起来您希望controleW
返回本地word
(然后将其结果分配给上面代码中的word
)。看起来您希望controleW
返回本地word
(然后将其结果分配给上面代码中的word
)。看起来您希望controleW
返回本地word
(然后将其结果分配给上面代码中的word
)。看起来您希望controleW
返回本地word
(然后将其结果分配给上面代码中的word
)。