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!~