如何自定义Eclipse关于文本的对话框?

时间:2012-02-15 17:31:31

标签: java eclipse swing eclipse-rcp jdialog

我正在尝试在我的应用程序中重用Eclipse的About对话框。我需要做的是在aboutText中添加图像,超链接和图像链接,但似乎在aboutText中只能有超链接?有没有办法添加图像/图像链接而不提供我自己的关于对话框实现?

谢谢,

2 个答案:

答案 0 :(得分:4)

使用JDialog。您可以在其中添加JPanel个对象。您可以将图像,超链接,文本,标签放入JPanel。所以它应该是微不足道的。

看看这段代码并测试它。您也可以使用HTML标记引用外部图像URL。看看这一行:

creditsLabel.setText( "<HTML><IMG SRC=\"http://siesbilkent.appspot.com/images/admin.png\"></IMG></HTML>" );

示例代码:

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class MyDialog extends JDialog
{
    private JLabel creditsLabel;

    public MyDialog ( JFrame frame )
    {
        super( frame, "Credits", true );
        JPanel panel = new JPanel( new FlowLayout() );
        panel.setBackground( new Color( 255, 0, 128 ) );
        creditsLabel = new JLabel();
        creditsLabel.setText( "<HTML><IMG SRC=\"http://siesbilkent.appspot.com/images/admin.png\"></IMG></HTML>" );
        panel.add( creditsLabel );

        this.getContentPane().add( panel );
        this.setPreferredSize( new Dimension( 240, 160 ) );
        this.pack();
        this.setLocationRelativeTo( null );
        this.setResizable( false );
    }

    public static void main ( String [] args )
    {
        MyDialog dialog = new MyDialog( new JFrame() );
        dialog.setModal( true );
        dialog.setVisible( true );
    }
}

答案 1 :(得分:1)

如果您要定制基于eclipse的应用程序/产品,请查看此manual。控制品牌的文件有三个:about.iniabout.propertiesabout.html。您可以使用about.html作为图片链接。