オープン、セーブ、および削除のボタンを持つ単純なワードプロセッサを作ろうとしています。これまで私は保存ボタンを手に入れました!一方、開いているボタンはファイルを開きません。ボタンをクリックするたびに何も起こりません。助けてください!ここに私のオープンクラスのコードです:なぜあなたはRTFファイルを開くと、それを解析するためのHTMLEditorKitを使用しているワードプロセッサGUIを使用してファイルを開く
package Word_Processor.src;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JTextPane;
public class Display extends JPanel implements ActionListener {
private JTextPane textArea;
private JButton saveButton;
private JComboBox colorCombo;
private JComboBox fontCombo;
private JLabel processorLabel;
private JSlider fontSize;
private JButton openButton;
private JButton deleteButton;
// Create some method objects
SaveContent saveFile = new SaveContent();
ColorManagement colorClass = new ColorManagement();
FontManagement fontClass = new FontManagement();
Main main = new Main();
OpenFile openFile = new OpenFile();
// Create some arrays
String[] colorItems = { "Red", "Blue", "Green", "Purple", "Orange", "Black" };
String[] fontItems = { "Monospaced", "Serif", "Sans Serif", "Arial" };
public Display() {
init();
}
public void init() {
Font font;
Color color;
color = colorClass.getColor();
font = fontClass.getFont();
// Construct Components
textArea = new JTextPane();
saveButton = new JButton("Save");
openButton = new JButton("Open");
deleteButton = new JButton("Delete");
colorCombo = new JComboBox(colorItems);
fontCombo = new JComboBox(fontItems);
processorLabel = new JLabel("Word Processor");
fontSize = new JSlider(10, 30);
// Work with slider
fontSize.setOrientation(JSlider.HORIZONTAL);
fontSize.setMinorTickSpacing(1);
fontSize.setMajorTickSpacing(5);
fontSize.setPaintTicks(true);
fontSize.setPaintLabels(true);
// Make the text area look presentable
textArea.setBackground(Color.LIGHT_GRAY);
// textArea.setForeground(color);
// Adjust size and layout
setPreferredSize(new Dimension(817, 473));
setLayout(null);
// Add components
add(textArea);
add(saveButton);
add(colorCombo);
add(fontCombo);
add(processorLabel);
add(fontSize);
add(deleteButton);
add(openButton);
// set boundaries
textArea.setBounds(10, 30, 650, 450);
saveButton.setBounds(670, 395, 140, 35);
openButton.setBounds(670, 350, 140, 35);
deleteButton.setBounds(670, 305, 140, 35);
colorCombo.setBounds(670, 205, 140, 35);
fontCombo.setBounds(670, 150, 140, 35);
processorLabel.setBounds(670, 20, 140, 35);
fontSize.setBounds(670, 95, 140, 49);
// add action listeners
saveButton.addActionListener(this);
colorCombo.addActionListener(this);
fontCombo.addActionListener(this);
deleteButton.addActionListener(this);
openButton.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == saveButton) {
saveFile.save(textArea);
}
if (e.getSource() == openButton) {
openFile.open(textArea);
}
if (e.getSource() == colorCombo) {
colorClass.selectColor(colorCombo.getSelectedItem().toString());
textArea.setForeground(colorClass.getColor());
}
if (e.getSource() == fontCombo) {
fontClass.selectFont(fontCombo.getSelectedItem().toString(), fontSize.getValue());
textArea.setFont(fontClass.getFont());
}
}
public JTextPane getText() {
return textArea;
}
}
問題を解決するために[コードブロックのぶら下げ括弧の検出/修正](http://meta.stackexchange.com/q/251795/155831)を参照してください。 –
@ AndrewThompsonのリンクを読んで元の投稿を修正してください。 –