我有一个类型游戏,你必须在时间限制用完之前输入尽可能快的单词,但每次键入单词时,你必须移动鼠标并单击回车并单击返回到用户输入输入下一个单词.我只是希望有没有办法使用"keyCode.VK_Enter"来发出一个由JButton调用的Action Command.
我的代码的一些片段:
Enter按钮和用户输入和输出:
enter = new JButton("Enter");
enter.setFont(serif); //serif is specified earlier
enter.setActionCommand("Enter");
enter.addActionListener(this);
container.add(enter);
userOutput = new JTextField(50);
userOutput.setFont(serif);
container.add(userOutput);
userOutput.setEditable(false);
userInput = new JTextField(43);
userInput.setFont(serif);
container.add(userInput);
userInput.setEditable(false);
Run Code Online (Sandbox Code Playgroud)
获取enter按钮的action命令的actionPerformed方法:
if(userInput.getText().equals(userOutput.getText())){
userInput.setText("");
score += 100;
Run Code Online (Sandbox Code Playgroud) 在我的程序中,我加载a JTextArea
以在单击按钮时显示一些文本.我添加了ActionListener
并编写了一个loadQuestion()
方法,但由于某种原因组件没有更新.该组件包含在另一个我通过get()
和set()
方法访问的文件中.我在loadQuestion()方法中运行了repaint()
和revalidate()
方法,并在方法中再次运行setTextArea()
,但它似乎仍然无法工作!任何指针将不胜感激 - 提前感谢
public void loadQuestion () {
JTextArea tempArea = quizDisplay.getTextArea();
String text = "Hello World!!";
tempArea.append("Hi");
quizDisplay.setTextArea(tempArea);
quizDisplay.revalidate();
quizDisplay.repaint();
}
Run Code Online (Sandbox Code Playgroud) 我看过很多网站.如果没有面板,标签会正确显示,面板会显示错误:
Exception in thread "main" java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
那么我该怎么做才能解决这个问题呢?
这是源代码:
JLabel button[] = new JLabel[100];
JPanel[] panel = new JPanel[100];
for (int i = 0; i < button.length; i++) {
a = a + 50;
if (a > 549) {
b = b + 50;
a = 50;
}
button[i] = new JLabel("hi");
frame.add(button[i]); //is this necessary?
button[i].setVisible(true); // is this necessary?
button[i].setSize(50,50);
panel[i].add(button[i]);
panel[i].setVisible(true);
panel[i].setBounds(a, b, 50, 50);
frame.add(panel[i]);
}
Run Code Online (Sandbox Code Playgroud)
这有什么不对,怎么解决呢?只是你知道,它应该有100个标签,在10乘10阵列中说你好.这是它的样子:
试图设置JOptionPane的大小,但它坚持相同的大小.我尝试过setPreferredSize和setSize但由于某种原因,JOptionPane坚持使用相同的宽度和高度.基本上我有一堆文本,由于窗口的大小,它被"切断".
我实际上正在使用另一种语言的swing库的端口,所以它可能是他们的库的一个错误 - 但根据文档,它应该镜像Java Swing调用.
我错过了什么吗?
编辑 - 想添加我用JOptionPane.showInputDialog创建joptionpane
再次编辑 - 我正在使用ASwing(Java Swing的actionscript端口 - 因此可能存在api差异虽然它应该是一个端口......)
我有一个View
带有JTable和另一个类的类DB
.In DB
是一种具有数据库连接的方法.从中调用此方法时View
,我希望它从数据库中返回整个数据.我应该使用什么作为返回类型?列表,矢量,数组,地图,......?
我阅读了很多教程,但对各种可能性感到非常困惑.我真的是最简单的方法,只是为了理解它是如何工作的.
我是一个Java Messenger.我做了一个登录对话框,当我点击连接按钮时,在加载时会出现一个动画GIF.
问题是当我的MySQL连接和查询正在处理时,动画GIF停止移动.
我抛出MySQL连接并在新线程中查询但仍然相同:
Thread connectionThread = new Thread(new Runnable() {
public void run() {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
//Database conection
OlaDB.createConnection();
...
Run Code Online (Sandbox Code Playgroud)
我该怎么办才能避免GIF冻结?
我目前正在开发一个java应用程序
因为我是一个菜鸟
我不知道如何在两个initcomponent视图之间移动
例如,当用户单击搜索时,整个视图将更改为具有不同类的新视图
在某些情况下,用户按下后退按钮,然后转到上一个视图
以及如何在两个视图之间传递参数
谢谢你的回复
我需要创建看起来像JTextField的组件(相同的边框,阴影,圆角等),但用于显示带文本的图形.
是否可以为JTextField创建渲染器之类的东西?或者基于JPanel创建自定义组件,但是如何强制它看起来与JTextField相同
另一个复杂因素是应用程序将在不同的LAF上运行.
你有什么想法 ?
我想知道这是否可以在java中我想重新加载一个swing应用程序,以便我可以设置区域设置.我正在使用超过5种语言的swing应用项目,我已经为每种语言创建了属性文件.每当用户从菜单中选择一种新语言时,我的应用程序必须重新启动才能更改所选语言.我完全陷入困境,如何使用我加载的vm参数和新语言重启我的swing应用程序.
这里的参考是与我期望的具有相同要求的网站. http://teravoice.com/
加载网页后,选择下载jnlp的链接,一旦打开应用程序,请使用任何名称登录,然后在文件菜单中找到12种语言的子菜单"语言".当我点击一种新语言时,应用程序将使用新语言和用户数据(即vm选项)重新启动.
谢谢.
我分别在MouseEnter和MouseExit上添加和删除JButton.这工作正常,但当按钮添加到面板时,它会显示在右上角而不是BorderLayout.SOUTH
指定的位置.
Frame只有一个JPanel,我添加的唯一一行是
jPanel1.addMouseListener(new myMouseListener(jPanel1));
Run Code Online (Sandbox Code Playgroud)
鼠标监听器
package example;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JPanel;
public class myMouseListener extends MouseAdapter{
JButton btn;
JPanel panel;
public myMouseListener(JPanel panel)
{
this.panel = panel;
this.btn = new JButton("Test");
this.btn.setSize(40, 40);
}
public void mouseEntered(MouseEvent e) {
panel.setBackground(Color.red);
panel.add(btn, BorderLayout.SOUTH);
}
public void mouseExited(MouseEvent e) {
panel.setBackground(Color.blue);
panel.remove(btn);
}
}
Run Code Online (Sandbox Code Playgroud)
你可以在这里下载一个sscce
http://www.filehosting.org/file/details/302851/Example.zip
任何人都可以对这个问题有所了解吗?