導航:首頁 > 編程語言 > javaswing修改圖標

javaswing修改圖標

發布時間:2024-09-30 02:27:08

java swing 創建帶圖標的按鈕

jButton.setBounds(0,0,85,82);
ImageIconicon=newImageIcon("E:\workspace\weixin-admin-pom\src\main\java\com\swing\dl.png");
Imagetemp=icon.getImage().getScaledInstance(jButton.getWidth(),
jButton.getHeight(),icon.getImage().SCALE_DEFAULT);
icon=newImageIcon(temp);
jButton.setIcon(icon);

Ⅱ java swing 怎麼在多級菜單項上加圖標

JMenu和JMenuItem一樣都有setIcon函數,用setIcon函數就可以設置圖標.
例如:
JMenu file=new JMenu("文件");
ImageIcon logo=new ImageIcon("logo.gif"); //這里定義一個Icon圖片
file.setIcon(logo); //這里設置Icon圖片到JMenu

Ⅲ Java 改變按鈕外觀

通常swing自定義組件繼承javax.swing.JComponent並重寫protected void paintComponent(Graphics g)方法實現自定義繪制。 重寫paintComponent方法時通常要先去掉super.paintComponent(g),因為父方法調用會繪制背景色。不妨先看一下源代碼中的調用過程。

在JComponent.java中paintComponent(Graphics g)方法定義如下:

protected void paintComponent(Graphics g) {
if (ui != null) {
Graphics scratchGraphics = (g == null) ? null : g.create();
try {
ui.update(scratchGraphics, this);
}
finally {
scratchGraphics.dispose();
}
}
}

其中ui的聲明如下
protected transient ComponentUI ui;
然後轉向ComponentUI的update(Graphics g, JComponent c)方法:

public void update(Graphics g, JComponent c) {
if (c.isOpaque()) {
g.setColor(c.getBackground());
g.fillRect(0, 0, c.getWidth(),c.getHeight());
}
paint(g, c);
}

可見如果發現組件是非透明的,就繪制背景,可以看出swing組件的setBackground方法如何繪制背景的。

一般簡單的自定義組件,你可以只通過重寫paintComponent方法來實現繪制,對於一般的組件這已經足夠。對於自定義按鈕一般的原則是准備4張背景圖對應上述4種狀態,這4種狀態都可通過滑鼠監聽來感知,當狀態改變時,調用repaint()使Button重繪。除了背景,按鈕文本、圖標等的改變一樣也必須調用repaint()來刷新。

然後重要的一點是你必須重寫public Dimension getPreferredSize()來獲得按鈕的最佳尺寸。getPreferredSize方法對於布局管理器來說至關重要,布局管理器會通過getPreferredSize的判斷組件的最佳大小,並進行布局。而對於本範例而言,getPreferredSize的大小隻和背景圖片大小有關。

對於業務,盡量做到前台界面與後來業務分離。你可以自定義按鈕動作監聽器來實現,本例是沿用swing的Action實現,當滑鼠抬起時,構造一個ActionEvent對象,然後交給Action成員的actionPerformed(ActionEvent e)處理。

Ⅳ java:求一個用swing來做小程序,我是用來修改配置文件用的,求代碼謝謝

XML文件(e:\data\dbconfigure.xml):
<?xml version="1.0" encoding="UTF-8"?>
<CONFIGUREDATA>
<CONFIGURE TYPE="SQL Server 2005">
<DRIVER>com.microsoft.sqlserver.jdbc.SQLServerDriver</DRIVER>
<URL>jdbc:sqlserver://localhost:1433;DatabaseName=DBName</URL>
<USERID>sa</USERID>
<PASSWORD>123</PASSWORD>
</CONFIGURE>
</CONFIGUREDATA>

Java程序(Test.java):

import java.io.File;
import java.io.FileOutputStream;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class Test{
public static void main(String[] args){
try{
String filepath = "E:\\data\\dbconfigure.xml";

File file = new File(filepath);
SAXBuilder builder = new SAXBuilder();
Document document = (Document) builder.build(file);
Element root = document.getRootElement();
Element elem1 = root.getChild("CONFIGURE");

//修改密碼
elem1.getChild("PASSWORD").setText("123456");

//寫回XML文件
Format format=Format.getRawFormat();
format.setEncoding("UTF-8");
XMLOutputter output=new XMLOutputter(format);
output.output(document, new FileOutputStream(filepath));
}
catch(Exception e){
e.printStackTrace();
}
}
}

Swing省略。

Ⅳ 在 Java Swing 中,怎麼設置 JButton 的背景圖片

ImageIconicon=newImageIcon("my.jpg");//讀取來圖片作為源圖標
JButtonbtn=newJButton();//新建按鈕
btn.setIcon(icon);//為按鈕設置圖標

閱讀全文

與javaswing修改圖標相關的資料

熱點內容
以數據說話什麼意思 瀏覽:319
java中對象 瀏覽:794
酷狗網路機頂盒如何設置 瀏覽:408
threejs添加文字 瀏覽:436
微信春節理財通 瀏覽:948
qq主題模塊應用教程 瀏覽:993
javaweb項目打包 瀏覽:59
qq主題是哪個文件夾里 瀏覽:642
超越狂暴升級txt書包 瀏覽:263
cad復制不能粘貼到新建文件 瀏覽:565
linux網路socket編程 瀏覽:926
戰爭雷霆客戶端在哪個文件里 瀏覽:847
如何授權點淘app讀取步數 瀏覽:671
sonarqube代碼負責度 瀏覽:116
step7左面編程框怎麼調出來 瀏覽:348
wordpress文章字型大小 瀏覽:117
xp電腦正在識別網路怎麼回事 瀏覽:30
a9加密文件在哪裡找 瀏覽:69
從微信傳文件到電腦上嗎 瀏覽:684
更改文件名後 瀏覽:443

友情鏈接