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

📄 splitpanetest.java

📁 java2核心技术卷二
💻 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 + -