Java Frame 好看的样式

在使用Java编写界面程序时,我们经常会使用Swing框架来创建GUI界面。而Java Frame作为Swing库中的一个重要组件,在设计时不仅要考虑功能的完善,还要考虑界面的美观。本文将介绍如何使用Java Frame创建一个好看的样式,并结合饼状图和关系图进行展示。

设计框架

在设计Java Frame的样式时,我们可以通过设置背景色、字体颜色、布局等来实现。下面是一个简单的Java Frame示例代码:

import javax.swing.*;
import java.awt.*;

public class MyFrame extends JFrame {
    
    public MyFrame() {
        setTitle("Java Frame Style");
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        // 设置背景色
        getContentPane().setBackground(Color.LIGHT_GRAY);
        
        // 设置字体颜色
        JLabel label = new JLabel("Hello, Java Frame!");
        label.setForeground(Color.BLUE);
        add(label);
        
        // 设置布局
        setLayout(new FlowLayout());
        
        setVisible(true);
    }

    public static void main(String[] args) {
        new MyFrame();
    }
}

在这段代码中,我们创建了一个继承自JFrame的MyFrame类,设置了标题、大小、关闭操作、背景色、字体颜色和布局,并在主函数中实例化了这个类。运行程序后,我们会看到一个简单的界面,但是仍然比较朴素。

添加饼状图

为了让界面更加生动和有趣,我们可以在Java Frame中添加饼状图。我们可以使用第三方库JFreeChart来创建饼状图,并将其嵌入到Java Frame中。下面是一个包含饼状图的示例代码:

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;

import javax.swing.*;
import java.awt.*;

public class MyPieChartFrame extends JFrame {
    
    public MyPieChartFrame() {
        setTitle("Pie Chart Example");
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        DefaultPieDataset dataset = new DefaultPieDataset();
        dataset.setValue("Apple", 30);
        dataset.setValue("Banana", 40);
        dataset.setValue("Orange", 20);
        
        JFreeChart chart = ChartFactory.createPieChart("Fruit Distribution", dataset);
        ChartPanel chartPanel = new ChartPanel(chart);
        add(chartPanel, BorderLayout.CENTER);
        
        setVisible(true);
    }

    public static void main(String[] args) {
        new MyPieChartFrame();
    }
}

在这段代码中,我们使用JFreeChart创建了一个包含三种水果分布的饼状图,并将其嵌入到Java Frame中。运行程序后,我们会看到一个含有饼状图的界面,让界面更加生动。

添加关系图

除了饼状图外,我们还可以在Java Frame中添加关系图。同样可以使用JFreeChart库中的ERDiagram类来创建关系图,并将其嵌入到Java Frame中。下面是一个包含关系图的示例代码:

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.PiePlot3D;

import javax.swing.*;
import java.awt.*;

public class MyERDiagramFrame extends JFrame {
    
    public MyERDiagramFrame() {
        setTitle("ER Diagram Example");
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        DefaultPieDataset dataset = new DefaultPieDataset();
        dataset.setValue("Employee", 30);
        dataset.setValue("Department", 40);
        dataset.setValue("Project", 20);
        
        JFreeChart chart = ChartFactory.createPieChart3D("ER Diagram", dataset, true, true, false);
        PiePlot3D plot = (PiePlot3D) chart.getPlot();
        plot.setStartAngle(290);
        plot.setDirection(Rotation.CLOCKWISE);
        
        ChartPanel chartPanel = new ChartPanel(chart);
        add(chartPanel, BorderLayout.CENTER);
        
        setVisible(true);
    }

    public static void main(String[] args) {
        new MyERDiagramFrame();
    }
}

在这段代码中,我们使用JFreeChart创建了一个包含三种实体的ER图,并将其嵌入