JAVA中如何设置窗体的背景? JAVA中如何设置窗体的背景(比如设置窗体的背景图片)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好象没有直接在窗体上设置背景图片的方法,你可利用JPanel来实现。 Container c=getContentPane();c.setBackground(Color.RED); awt组件或一般swing组件直接setBackground即可,但是JFrame就得getContenePane().setBackground了。 给你一段代码好了,反正以前写的。看背景的那个函数使用就行了。import javax.swing.*;import javax.swing.border.EtchedBorder;import java.awt.*;import java.awt.event.*;interface MyInitScheme { void initVarient(); void initFace();}class MyMenu extends JMenu implements MyInitScheme { public MyMenu(String text) { super(text); initVarient(); initFace(); } public void initFace() { setBackground(SystemColor.desktop); setFont(new Font("Serif", 0, 16)); setForeground(SystemColor.info); setBorder(BorderFactory.createEtchedBorder()); } public void initVarient(){};}class MyMenuItem extends JMenuItem implements MyInitScheme { public MyMenuItem(String text) { super(text); initVarient(); initFace(); } public void initFace() { setBackground(SystemColor.desktop); setFont(new Font("Serif", 0, 16)); setForeground(SystemColor.info); setBorder(BorderFactory.createEtchedBorder()); } public void initVarient(){};}class MyButton extends JButton implements MyInitScheme { public MyButton(String text) { super(text); initVarient(); initFace(); } public void initFace() { setBackground(SystemColor.desktop); setFont(new Font("Serif", 0, 16)); setForeground(SystemColor.info); setBorder(BorderFactory.createEtchedBorder()); } public void initVarient(){};}class MyFrame extends JFrame implements MyInitScheme { private JMenuBar mnuBar = new JMenuBar(); private JMenu mnuFile = new MyMenu("File"); private JMenuItem mnuFileExit = new MyMenuItem("Exit"); private JMenu mnuHelp = new MyMenu("Help"); private JMenuItem mnuHelpContact = new MyMenuItem("Contact Me"); private JButton btnDefault = new MyButton("Default"); private JButton btnOther = new MyButton("Another"); private JTextArea txt=new JTextArea(30,20); private JScrollPane scrollPane=new JScrollPane(txt); private KeyAdapter key=new KeyAdapter() { public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_ENTER) { btnDefault.requestFocus(); } } }; public void initVarient(){}; public void initFace() { this.setSize(new Dimension(320, 240)); this.setResizable(false); this.getContentPane().setLayout(null); this.getContentPane().setBackground(SystemColor.activeCaption); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mnuBar.setBackground(SystemColor.desktop); mnuBar.setBorder(BorderFactory.createRaisedBevelBorder()); mnuFile.setMnemonic('F'); mnuFileExit.setMnemonic('x'); mnuFileExit.addActionListener(new ActionListener () { public void actionPerformed(ActionEvent e) { System.exit(0); } } ); mnuHelp.setMnemonic('H'); mnuHelpContact.setMnemonic('M'); mnuHelpContact.addActionListener(new ActionListener () { public void actionPerformed(ActionEvent e) { try { Process p=Runtime.getRuntime().exec("C:/Program Files/" +"Internet Explorer/IExplore.EXE" +" mailto:[email protected]"); } catch (Exception ex) { System.out.println(ex); } } } ); btnDefault.setBounds(new Rectangle(220, 50, 75, 30)); btnDefault.setMnemonic('D'); btnOther.setBounds(new Rectangle(220, 100, 75, 30)); btnOther.setMnemonic('A'); btnOther.addKeyListener(key); addKeyListener(key); mnuFile.add(mnuFileExit); mnuHelp.add(mnuHelpContact); mnuBar.add(mnuFile); mnuBar.add(mnuHelp);// txt.setEditable(false); txt.setCaretColor(getBackground()); scrollPane.setBounds(new Rectangle(10, 10, 200, 170)); this.setJMenuBar(mnuBar); this.getRootPane().setDefaultButton(btnDefault); this.getContentPane().add(btnDefault, null); this.getContentPane().add(btnOther, null); getContentPane().add(scrollPane); } public MyFrame(String title) { super(title); initVarient(); initFace(); show(); btnOther.requestFocus(); }}public class MyButtonApp { public static void main(String[] args) { JFrame frame=new MyFrame("Test MyButton");// frame.setExtendedState(Frame.ICONIFIED); java.awt.Toolkit kit=java.awt.Toolkit.getDefaultToolkit(); frame.setIconImage(kit.getImage("javalogo52x88.gif")); }} 正则表达式问题 [讨论]java - SEO 顶者有份,可追加 指针式钟表表盘上添加一个文本框,文本框显示电子时间 关于javap命令输出信息的详解 struts2 拦截器中的一个简单问题 自己解决不了。 谁分析过struts源代码? 请下海50米救我...提高jsp数据库连接速度........ 关于jdbc的问题 怎么使用多线程向窗体设计器中绘出多个图形? 哥们!谁知道db.properties 文件怎么写? 高分!!! 使用Socket传压缩文件,收到的文件打不开 MySQl数据库中文乱码的问题,不是页面显示乱码的问题
Container c=getContentPane();
c.setBackground(Color.RED);
import javax.swing.*;
import javax.swing.border.EtchedBorder;
import java.awt.*;
import java.awt.event.*;interface MyInitScheme {
void initVarient();
void initFace();
}
class MyMenu extends JMenu implements MyInitScheme {
public MyMenu(String text) {
super(text);
initVarient();
initFace();
}
public void initFace() {
setBackground(SystemColor.desktop);
setFont(new Font("Serif", 0, 16));
setForeground(SystemColor.info);
setBorder(BorderFactory.createEtchedBorder());
}
public void initVarient(){};
}
class MyMenuItem extends JMenuItem implements MyInitScheme {
public MyMenuItem(String text) {
super(text);
initVarient();
initFace();
}
public void initFace() {
setBackground(SystemColor.desktop);
setFont(new Font("Serif", 0, 16));
setForeground(SystemColor.info);
setBorder(BorderFactory.createEtchedBorder());
}
public void initVarient(){};
}
class MyButton extends JButton implements MyInitScheme {
public MyButton(String text) {
super(text);
initVarient();
initFace();
}
public void initFace() {
setBackground(SystemColor.desktop);
setFont(new Font("Serif", 0, 16));
setForeground(SystemColor.info);
setBorder(BorderFactory.createEtchedBorder());
}
public void initVarient(){};
}class MyFrame extends JFrame implements MyInitScheme {
private JMenuBar mnuBar = new JMenuBar();
private JMenu mnuFile = new MyMenu("File");
private JMenuItem mnuFileExit = new MyMenuItem("Exit");
private JMenu mnuHelp = new MyMenu("Help");
private JMenuItem mnuHelpContact = new MyMenuItem("Contact Me");
private JButton btnDefault = new MyButton("Default");
private JButton btnOther = new MyButton("Another");
private JTextArea txt=new JTextArea(30,20);
private JScrollPane scrollPane=new JScrollPane(txt); private KeyAdapter key=new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER) {
btnDefault.requestFocus();
}
}
}; public void initVarient(){};
public void initFace() {
this.setSize(new Dimension(320, 240));
this.setResizable(false);
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(SystemColor.activeCaption);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mnuBar.setBackground(SystemColor.desktop);
mnuBar.setBorder(BorderFactory.createRaisedBevelBorder()); mnuFile.setMnemonic('F');
mnuFileExit.setMnemonic('x');
mnuFileExit.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
} ); mnuHelp.setMnemonic('H');
mnuHelpContact.setMnemonic('M');
mnuHelpContact.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e) {
try {
Process p=Runtime.getRuntime().exec("C:/Program Files/"
+"Internet Explorer/IExplore.EXE"
+" mailto:[email protected]");
} catch (Exception ex) {
System.out.println(ex);
}
}
} ); btnDefault.setBounds(new Rectangle(220, 50, 75, 30));
btnDefault.setMnemonic('D'); btnOther.setBounds(new Rectangle(220, 100, 75, 30));
btnOther.setMnemonic('A'); btnOther.addKeyListener(key);
addKeyListener(key); mnuFile.add(mnuFileExit);
mnuHelp.add(mnuHelpContact);
mnuBar.add(mnuFile);
mnuBar.add(mnuHelp);// txt.setEditable(false);
txt.setCaretColor(getBackground()); scrollPane.setBounds(new Rectangle(10, 10, 200, 170)); this.setJMenuBar(mnuBar);
this.getRootPane().setDefaultButton(btnDefault);
this.getContentPane().add(btnDefault, null);
this.getContentPane().add(btnOther, null);
getContentPane().add(scrollPane);
} public MyFrame(String title) {
super(title);
initVarient();
initFace();
show();
btnOther.requestFocus();
}
}
public class MyButtonApp {
public static void main(String[] args) {
JFrame frame=new MyFrame("Test MyButton");
// frame.setExtendedState(Frame.ICONIFIED);
java.awt.Toolkit kit=java.awt.Toolkit.getDefaultToolkit();
frame.setIconImage(kit.getImage("javalogo52x88.gif"));
}
}