我使用最新的Eclipse和GWT Designer来用Java创建swing应用程序.我的应用程序窗口中的主要功能(这是一个javax.swing.JFrame)在工具生成的auto中如下所示:
/* launch the application */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
AppWindow window = new AppWindow();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
这似乎是围绕着这可能是一个很大的噪音:
public static void main(String[] args) {
try {
AppWindow window = new AppWindow();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我已经读过在某些情况下需要EventQueue.InvokeLater技术,另一个问题是在这里询问使用它的位置.
我的问题更简单; 为什么在代码生成器中会自动执行此操作?为什么main应该快速返回并让事件队列稍后创建应用程序窗口?难道不会阻止这一点吗?为什么JFrame自动生成的设计器会执行此EventQueue?我试图在启动和显示表单方面看到一些不同,无论这个代码是以更简单的方式还是更难的方式完成,我只能暂时断定这有一些好处,这些好处在初学者制作的小型演示应用程序中不可见像我一样,也许在现实世界的大型复杂Jframe类中,这种延迟/排队策略有一些好处吗?
我很好奇,我想知道是否有办法让JOptionPane的顶部变成不同的颜色,比如红色或橙色.另外我想知道如何更改JOptionPane左侧的图像.我猜这是不可能的,因为它已经是一个从java使用的方法.但我不是专家.
我是编程新手,但我正准备编写一个Java程序.正如我正在计划的那样,我正在努力为它找到合适的GUI.我发现这个页面有GUI选项.我有两个问题:
我有一个新的派生类,JButton
它给了我一个Enter-Button的形状.
现在我想让它填充与默认相同的渐变JButton
.但是我不知道.我怎么能这样做?
此刻它充满了纯黑色.
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Polygon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class EnterButton extends JButton {
private Polygon shape;
public EnterButton() {
this.shape = new Polygon();
// initialisiere Form
this.initialize();
}
protected void initialize() {
Point p1, p2, p3, p4, p5, p6;
this.setSize(90, 120);
p1 = new Point(0, 0);
p2 = new Point(0, 60);
p3 = new Point(30, 60);
p4 = new Point(30, 120);
p5 = new Point(90, 120); …
Run Code Online (Sandbox Code Playgroud) 我希望JButton
看起来像HTML中的链接.它仍然是一个按钮,当我点击它时它会打开一些新的JFrame
.但我想改变它的样子.我试过这个:
JButton button = new JButton();
button.setText("hi");
button.setContentAreaFilled(false);
button.setBorderPainted(false);
button.setOpaque(false);
button.setBackground(Color.WHITE);
button.setCursor(Cursor.getPredefinedCursor(12));
Run Code Online (Sandbox Code Playgroud)
但是我的按钮文本周围仍然有一些边框.我们如何完全删除边框?
如何更改JFrame
图标的大小?
JFrame f = new JFrame("Test");
Image icon = Toolkit.getDefaultToolkit().getImage("icons/logo.png");
// icon.setPreferredWidth()...
f.setIconImage(icon);
Run Code Online (Sandbox Code Playgroud) 我想改变我的标签的背景颜色JTabbedPane
.我试着JTabbedPane.setBackgroudAt(0, Color.GRAY)
和JTabbedPane.setBackgroud(Color.GRAY)
和前景也一样,但没有任何反应.我更改了选项卡内面板的背景,仍然没有.
编辑1:我正在使用,UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
如果这可以帮助解决方案
编辑2:链接到示例,https://www.dropbox.com/s/0krn9vikvkq46mz/JavaApplication4.rar
我对Swing的标准外观和感觉感到厌倦,需要一些看起来很酷的黑色和黑色主题.作为挥杆的一部分,DefaultMetal,Ocean,Motif或Windows都不能满足我的需求.使用nifty-gui是一个好主意,因为我需要有标签窗格和类似的东西吗?如果没有,我还有其他选择吗?
我有一个电子邮件客户端,它收到新消息,带有传入消息的按钮开始做某事,直到用户点击它看到最新消息.
我试图通过选择,等待然后取消选择使按钮吸引注意力,但这没有任何作用!
do{
button.setSelected(true);
Thread oThread = new Thread() {
@Override
public void run() {
synchronized (this) {
try {
wait(1000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
button.setSelected(false);
}
};
oThread.start();
}while(true);
Run Code Online (Sandbox Code Playgroud) Java的主要"设计"包是什么?我环顾四周,从我看到的,Swing看起来非常有限.当然我可能是评判性的,因为我对Java完全不熟悉.我可以使用什么软件包在Java中创建美观的GUI?