- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Java 在 Eclipse 中编码。我在使用 .setText();
和 .setVisible();
时遇到问题。我尝试加入 .revalidate();
和 .repaint();
方法,但它们似乎没有发挥作用。当你按下“我们走吧!”按钮,它不会删除文本或更改我告诉它的文本。这是我的代码:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Jblackjack {
// Creating static variables
static JButton card1 = new JButton(" ");
static JButton card2 = new JButton(" ");
static JButton card3 = new JButton(" ");
static JButton card4 = new JButton(" ");
static JButton compcard1 = new JButton(" ");
static JButton compcard2 =new JButton(" ");
static JButton compcard3 = new JButton(" ");
static JFrame frame = new JFrame("BlackJack");
static JButton no = new JButton("Cancel");
static JButton button = new JButton("Let's go!");
static JButton hit = new JButton("hit");
static JButton stand = new JButton("Stand");
static JLabel text = new JLabel("We are going to play Blackjack.");
static JLabel text2 = new JLabel("This Blackjack does not have any splits, doubles, surrenders, or insurance. Just hits and stands.");
static JLabel text3 = new JLabel("This is a WIP");
static JLabel text4 = new JLabel("11's are Jacks. 12's are Queens. 13's are Kings. 1's are Ones for now.");
static JLabel text5 = new JLabel("Are you ready?");
static class Cancel implements ActionListener{
public void actionPerformed (ActionEvent e){
System.exit(0);
}
}
static class Play implements ActionListener{
public void actionPerformed (ActionEvent e){
text.setText("You have:");
text2.setVisible(false);
text3.setVisible(false);
text4.setVisible(false);
text5.setVisible(false);
no.setVisible(false);
button.setVisible(false);
frame.add(card1);
text.setText("You have:");
int a = (int)(Math.random()*4);
int b = (int)(Math.random()*13);
if(a==1){
card1.setText(b + "Clubs");
} else if (a==2){
card1.setText(b + "Spades");
} else if(a==3){
card1.setText(b + "Hearts");
} else if(a==4){
card1.setText(b + "Hearts");
}
frame.revalidate();
frame.repaint();
}
}
static class Hit implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
static class Hit2 implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
static class Hit3 implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
static class Stand implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
static class Stand2 implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
static class Stand3 implements ActionListener{
public void actionPerformed (ActionEvent e){
}
}
public static void main(String[] args){
frame.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
// Creating "JVariables"
JLabel text = new JLabel("We are going to play Blackjack.");
JLabel text2 = new JLabel("This Blackjack does not have any splits, doubles, surrenders, or insurance. Just hits and stands.");
JLabel text3 = new JLabel("This is a WIP");
JLabel text4 = new JLabel("11's are Jacks. 12's are Queens. 13's are Kings. 1's are Ones for now.");
JLabel text5 = new JLabel("Are you ready?");
JLabel background = new JLabel(new ImageIcon("BlackJackBackGround.png"));
// Adding JVariables and setting bounds
card1.setBounds(20, 50, 100, 150);
hit.setBounds(10, 300, 150, 50);
stand.setBounds(170, 300, 150, 50);
frame.add(background);
frame.add(text);
text.setBounds(5, 0, 250, 50);
frame.add(text2);
text2.setBounds(5, 25, 550, 50);
frame.add(text3);
text3.setBounds(5, 50, 150, 50);
frame.add(text4);
text4.setBounds(5, 75, 550, 50);
frame.add(text5);
text5.setBounds(5, 100, 150, 50);
frame.add(no);
no.setBounds(10, 150, 150, 50);
no.addActionListener(new Cancel());
frame.add(button);
button.setBounds(170, 150, 150, 50);
button.addActionListener(new Play());
frame.setSize(1000, 700);
}
}
最佳答案
您的 Play 类正在更改在 static JLabel text
中声明的 JLabel 的文本,但是 JLabel 从未添加到您的框架中,因为在您的 main 方法中,您正在声明第二个全新的JLabel,而您正在将其添加到框架中:
JLabel text = new JLabel("We are going to play Blackjack.");
从您的代码中删除该行,您将在按下按钮时看到文本发生变化。
关于JAVA:.setText 和 .setVisible(false) 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27612882/
我有一个代码,当我单击 jButton 时,它应该设置为不可见,而另一个已设置为 FALSE 的 JButton 应该为 TRUE,setVisible(true) 不起作用。 buttonGrid[
我看到了一些关于这个的帖子,我明白了这个问题。但是怎么绕过去呢?我有 ListView 和可以展开的项目,但是一旦 View 消失,它就不会再可见,除非它有可用空间。如何创造这个空间? private
JFrame 在循环中无法正确显示。代码:- import javax.swing.*; import java.awt.event.*; import java.awt.*; import j
下面的代码应该重置框架gameFrame: private void reset() { moveCount = 0; gameFrame.setVisible(false);
请看下图来理解问题: 如您所见,有一个 RelativeLayout 包含一个自定义 View 和一个 LinearLayout。 在它们之间,还有另一个 View,Visibility 被设置为 G
我有一个 JScrollPane包含 JPanel然后包含一些自定义组件,它们是 JPanel 的扩展(它们都是同一类型)。此 JScrollPane 在包含 JFrame 之前设置为不可见显示。 当
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我是 JFrame 的新手,我正在尝试做一个项目,如果按“注销”按钮,则可以完美执行以下代码, public void actionlogout() { lButton.addActionLi
我试图隐藏除 1 之外的所有 jList,它是从 jcomboBox (cbLists) 的索引中获得的,它并没有真正隐藏 jLists,就像禁用而不是隐藏一样,我需要它隐藏所有内容,就像完全不可见一
你能帮我吗?我正在尝试创建一个菜单,只需按一下按钮即可显示项目。我想我应该使菜单项visible:false,然后在MainActivity中切换这个属性。但我做不到正确的事。我需要 3 个新菜单项。
我想知道,这样做会更有效率吗: setVisible(false) // if the component is invisible 或者像这样: if(isVisible()){
简单介绍一下我在做什么。 我根据用户登录的帐户类型授予不同的功能。 用户的帐户类型将通过 Firebase 数据库中的 Firebase 引用检索。如果您查看此图像,就会看到箭头指示。这是显示帐户类型
我在处理程序中隐藏了一个按钮(这是在我使其在应用程序的另一种状态下可见之后)。处理程序从正在运行的线程接收消息,然后更新 GUI。 问题是附近的(不是全部)按钮和 TextView 也从屏幕上消失了。
我有一个带有 jcheckbox 和 jtextfield 的 jframe(它有更多组件)。 我将标签设置为 setVisible(false),当复选框被选中时,它应该使标签可见。它确实如此,但您
这是我的布局:
我是 android 开发的新手。我在 LinearLayout 中包含一个网格,组成网格的每个项目都是一个按钮。当用户按下这些按钮中的任何一个时,我希望此 LinearLayout 不可见。 这是我
我在抽屉中使用 NavigationView 并且 Menu 中有一个项目具有指向 的 app:actionLayout 属性>LinearLayout 包含一个 TextView,并且 TextVi
我有一个 LinearLayout,我希望能够通过单击“更多详细信息”链接来显示/隐藏它。我通过调用来做到这一点 moreDetailsSection.setVisibility(View.VISIB
在 JavaFX 中,如果我有一个包含 2 个 VBox 元素的场景,并且每个 VBox 中都有多个 Label。 如果我将顶部的VBox设置为invisible,为什么底部的VBox不上移顶部的场景
所以我一直在论坛中寻找如何做到这一点,但我发现没有任何效果。当我在图像按钮上调用 setVisibility() 时,该按钮不受影响。下面是 onCreate 方法中的代码,当我运行应用程序时,两个按
我是一名优秀的程序员,十分优秀!