⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 splitpanetest.java

📁 sun公司开发的,java2核心技术,卷II:高级性能,包括一系列的高级java应用技术,如数据库德连接,高级swing,多线程,软件本地化等等,本文件中则包含该书中的所用实例,配合该书使用,使对ja
💻 JAVA
字号:
/**
 * @version 1.00 1999-07-17
 * @author Cay Horstmann
 */

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

public class SplitPaneTest
{  public static void main(String[] args)
   {  JFrame frame = new SplitPaneFrame();
      frame.show();
   }
}

class SplitPaneFrame extends JFrame
   implements ListSelectionListener
{  public SplitPaneFrame()
   {  setTitle("SplitPaneTest");
      setSize(400, 300);
      addWindowListener(new WindowAdapter()
         {  public void windowClosing(WindowEvent e)
            {  System.exit(0);
            }
         } );

      // set up components for planet names, images, descriptions

      planetList = new JList(planets);
      planetList.addListSelectionListener(this);

      planetImage = new JLabel();

      description = new JTextArea();

      // set up split panes

      JSplitPane innerPane
         = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
            planetList, planetImage);

      innerPane.setContinuousLayout(true);
      innerPane.setOneTouchExpandable(true);

      JSplitPane outerPane
         = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
            innerPane, description);

      getContentPane().add(outerPane, "Center");
   }

   public void valueChanged(ListSelectionEvent event)
   {  JList source = (JList)event.getSource();
      Planet value = (Planet)source.getSelectedValue();

      // update image and description

      planetImage.setIcon(value.getImage());
      description.setText(value.getDescription());
   }

   private JList planetList;
   private JLabel planetImage;
   private JTextArea description;
   private Planet[] planets =
      {  new Planet("Mercury", 2440, 0),
         new Planet("Venus", 6052, 0),
         new Planet("Earth", 6378, 1),
         new Planet("Mars", 3397, 2),
         new Planet("Jupiter", 71492, 16),
         new Planet("Saturn", 60268, 18),
         new Planet("Uranus", 25559, 17),
         new Planet("Neptune", 24766, 8),
         new Planet("Pluto", 1137, 1),
      };
}

class Planet
{  public Planet(String n, double r, int m)
   {  name = n;
      radius = r;
      moons = m;
      image = new ImageIcon(name + ".gif");
   }

   public String toString()
   {  return name;
   }

   public String getDescription()
   {  return "Radius: " + radius + "\nMoons: " + moons + "\n";
   }

   public ImageIcon getImage()
   {  return image;
   }

   private String name;
   private double radius;
   private int moons;
   private ImageIcon image;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -