java jbutton 问题

作者&投稿:郦东 (若有异议请与网页底部的电邮联系)
JAVA 中JButton的背景色问题~

这个应该就是你要的效果.... 这里我一起答复了.....

import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;

public class Exec1 extends JFrame {

public Exec1() {
init();
}

/**
* 初始化窗体
*/
private void init() {
String lookAndFeel = UIManager.getSystemLookAndFeelClassName();
try {
UIManager.setLookAndFeel(lookAndFeel);
} catch (Exception e) {
e.printStackTrace();
}

setLayout(null);
final JButton btnTest = new JButton("测试");
btnTest.setBounds(20, 30, 100, 25);
Border b = new LineBorder(Color.YELLOW, 1);
btnTest.setBorder(b);

add(btnTest);
setSize(200, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
new Exec1().setVisible(true);
}
}

=============
如果你想要那种的,就不能设lookandfeel了
String lookAndFeel = UIManager.getSystemLookAndFeelClassName();

因为你还没了解这部分的机制。

当你改变lookAndFeel之后,java UI的控件发生不少变化。就是说画控件的代码都不是一套的了。你以后了解这部分只是就知道了。
==============
先给你个思路,看看你就明白了。
=========
你用上面的方法设置,你可以到getSystemLookAndFeelClassName函数里看看
当你的系统是windows那它会返回
com.sun.java.swing.plaf.windows.WindowsLookAndFeel,然而用他之后。你所有控件的UI都是使用sun\java\swing\plaf\windows这下面的控件,如:
WindowsButtonUI.java
WindowsButtonListener.java
WindowsCheckBoxMenuItemUI.java
WindowsCheckBoxUI.java 等等。
而你没设lookandfeel之前使用swing默认的风格显示的。它默认是:
使用javax.swing.plaf.basic.BasicLookAndFeel这个类。而控件的UI就是用下面这些:
BasicButtonUI.java
BasicButtonListener.java
BasicCheckBoxMenuItemUI.java
BasicCheckBoxUI.java等等。其实你看看jdk源码就知道了。

控件UI就是显示控件样子的

setSize()可以设置JButton的大小,只是如果这个Button在某个布局里,那就已经由布局限定的位置限制了,不能再用setSize()随意设置位置,只能用setPrefferedSize()设置在布局里的可见位置。如果是空布局,就可以用setSize()设置Button的位置。

其实道理很简单 只需要CSS 修饰 改变其宽度和高度就可以,让高度>宽度
其中的字体用换行就可了,根本不需要复杂的代码,只是一个思路的问题

JButton 如果我记得没错是SWING吧 桌面程序 那两个哥怎么想的……还CSS呢……不过换行可以尝试

先问一下你是想在web上显示还是做java软件开发。

Jbutton结合html代码即可实现,JButton命名如下:
JButton b = new JButton("<html>文<br/>字<br/>竖<br/>排<br/>显<br/>示<br/></html>");

有问题再追问,good luck!~