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

📄 consoleoptionsframe.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
字号:
package net.aetherial.gis.garmin;

import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
import javax.comm.*;
import net.aetherial.gis.garmin.*;

class ConsoleOptionsFrame extends JFrame implements ActionListener 
{
	private ConsoleConfig config;
	private JTextField serverPort, serverName; 
	private JComboBox commPorts;

	public ConsoleOptionsFrame ()
	{
		config = new ConsoleConfig ();

		getContentPane().setLayout (new BorderLayout ());
		setTitle ("Options");
		setSize (400, 300);
		setIconImage (ConsoleFrame.icon);

		JTabbedPane optionsPane = new JTabbedPane();

		optionsPane.add ("GPS", getGPS ());
		// optionsPane.add ("Files", getFiles ());
		// optionsPane.add ("Startup", getStartup ());
		// optionsPane.add ("Network", getNetwork ());
	
		JPanel buttons = new JPanel ();
		JButton okButton = new JButton ("OK");
		okButton.addActionListener (this);
		JButton saveButton = new JButton ("Save");
		saveButton.addActionListener (this);
		JButton cancelButton = new JButton ("Cancel");
		cancelButton.addActionListener (this);

		buttons.add (saveButton);
		buttons.add (okButton);
		buttons.add (cancelButton);

		getContentPane().add (optionsPane, "Center");
		getContentPane().add (buttons, "South");
	}

	private JPanel getGPS ()
	{
		JPanel panel = new JPanel ();

		JLabel commLabel = new JLabel ("Serial Port:");

		commPorts = new JComboBox ();
		commPorts.setEditable (false);
		
		for (Enumeration e = CommPortIdentifier.getPortIdentifiers (); e.hasMoreElements (); )
		{
			CommPortIdentifier cpi = (CommPortIdentifier) e.nextElement ();
			if (cpi.getPortType () == CommPortIdentifier.PORT_SERIAL)
				commPorts.addItem (cpi.getName ());
		}
	
		commPorts.setSelectedItem (config.getSerialPort ());
		commLabel.setLabelFor (commPorts);
		
		JButton autoDetect = new JButton ("Autodetect");
		autoDetect.addActionListener (this);

		panel.add (commLabel);
		panel.add (commPorts);
		// panel.add (autoDetect);

		return panel;
	}

	private JPanel getFiles ()
	{
		JPanel panel = new JPanel ();

		return panel;
	}

	private JPanel getStartup ()
	{
		JPanel c = new JPanel (new GridLayout(4, 1));

		c.add (new JCheckBox ("Initialize GPS upon startup"), "1");
		c.add (new JCheckBox ("Obtain location upon startup"), "2");
		
		return c;
	}
	
	private JPanel getNetwork ()
	{
		JPanel panel = new JPanel (new GridLayout (4, 1));

		JPanel serverPanel = new JPanel (new FlowLayout (FlowLayout.LEFT));
		JLabel serverLabel = new JLabel ("Upload server: ");
		serverName = new JTextField (config.getServer (), 16);
		serverLabel.setLabelFor (serverName);
		serverPanel.add (serverLabel);
		serverPanel.add (serverName);

		JPanel portPanel = new JPanel (new FlowLayout (FlowLayout.LEFT));
		JLabel portLabel = new JLabel ("Server port: ");
		serverPort = new JTextField (config.getServerPort (), 6);
		portLabel.setLabelFor (serverPort);
		portPanel.add (portLabel);
		portPanel.add (serverPort);

		panel.add (serverPanel, "1");
		panel.add (portPanel, "2");

		return panel;
	}

	public void actionPerformed (ActionEvent evt)
	{
		String arg = evt.getActionCommand ();

		System.out.println (arg);

		if (arg.equals ("Cancel"))
		{
			dispose ();
		}
		else if (arg.equals ("Save"))
		{
			saveOptions ();
		}
		else if (arg.equals ("OK"))
		{
			saveOptions ();
			dispose ();
		}
		else if (arg.equals ("Autodetect"))
		{
			ConsoleAutoDetectProgressFrame d = new ConsoleAutoDetectProgressFrame ();
			d.show ();
			try
			{
				Thread.sleep (1000);
			}
			catch (Exception e)
			{

			}

//			JFrame autoDetectFrame = new ConsoleAutoDetectFrame ();
			
			d.dispose ();

			// autoDetectFrame.show ();
		}
				
	}

	private void saveOptions ()
	{
		// config.setServerName (serverName.getText ());
		// config.setServerPort (serverPort.getText ());
		config.setSerialPort ((String) commPorts.getSelectedItem ());

		config.commit ();
	}
}

⌨️ 快捷键说明

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