-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAddWordScreen.java
More file actions
146 lines (125 loc) · 4.87 KB
/
Copy pathAddWordScreen.java
File metadata and controls
146 lines (125 loc) · 4.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
package com.abhidhan.dictionary.ui;
import javax.swing.*;
import java.awt.*;
public class AddWordScreen extends JDialog {
private JTextField wordField;
private JTextField meaningField;
private JComboBox<String> languageComboBox;
private JTextField synonymsField;
private JTextField antonymsField;
private JButton saveButton;
private JButton cancelButton;
private JPanel mainPanel;
public AddWordScreen(JFrame parent) {
super(parent, "Add New Word", true); // modal dialog
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setSize(400, 300);
setLocationRelativeTo(parent);
mainPanel = new JPanel();
mainPanel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(5, 5, 5, 5);
Font banglaFont = new Font("SolaimanLipi", Font.PLAIN, 14); // Use a Bangla font
// Word Field
JLabel wordLabel = new JLabel("Word:");
wordField = new JTextField(20);
wordField.setFont(banglaFont); // Set Bangla font
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.WEST;
mainPanel.add(wordLabel, gbc);
gbc.gridx = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
mainPanel.add(wordField, gbc);
// Meaning Field
JLabel meaningLabel = new JLabel("Meaning:");
meaningField = new JTextField(20);
meaningField.setFont(banglaFont); // Set Bangla font
gbc.gridx = 0;
gbc.gridy = 1;
gbc.anchor = GridBagConstraints.WEST;
mainPanel.add(meaningLabel, gbc);
gbc.gridx = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
mainPanel.add(meaningField, gbc);
// Language Combo Box
JLabel languageLabel = new JLabel("Language:");
languageComboBox = new JComboBox<>(new String[]{"bn", "en"});
languageComboBox.setFont(banglaFont); // Set Bangla font (for the dropdown items)
gbc.gridx = 0;
gbc.gridy = 2;
gbc.anchor = GridBagConstraints.WEST;
mainPanel.add(languageLabel, gbc);
gbc.gridx = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
mainPanel.add(languageComboBox, gbc);
// Synonyms Field
JLabel synonymsLabel = new JLabel("Synonyms (comma-separated):");
synonymsField = new JTextField(20);
synonymsField.setFont(banglaFont); // Set Bangla font
gbc.gridx = 0;
gbc.gridy = 3;
gbc.anchor = GridBagConstraints.WEST;
mainPanel.add(synonymsLabel, gbc);
gbc.gridx = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
mainPanel.add(synonymsField, gbc);
// Antonyms Field
JLabel antonymsLabel = new JLabel("Antonyms (comma-separated):");
antonymsField = new JTextField(20);
antonymsField.setFont(banglaFont); // Set Bangla font
gbc.gridx = 0;
gbc.gridy = 4;
gbc.anchor = GridBagConstraints.WEST;
mainPanel.add(antonymsLabel, gbc);
gbc.gridx = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
mainPanel.add(antonymsField, gbc);
// Buttons Panel
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
saveButton = new JButton("Save");
saveButton.setFont(banglaFont); // Set font for buttons (optional, but consistent)
cancelButton = new JButton("Cancel");
cancelButton.setFont(banglaFont);
buttonPanel.add(saveButton);
buttonPanel.add(cancelButton);
gbc.gridx = 0;
gbc.gridy = 5;
gbc.gridwidth = 2;
gbc.fill = GridBagConstraints.NONE;
gbc.anchor = GridBagConstraints.EAST;
mainPanel.add(buttonPanel, gbc);
setContentPane(mainPanel);
setResizable(false);
}
public JTextField getWordField() {
return wordField;
}
public JTextField getMeaningField() {
return meaningField;
}
public JComboBox<String> getLanguageComboBox() {
return languageComboBox;
}
public JTextField getSynonymsField() {
return synonymsField;
}
public JTextField getAntonymsField() {
return antonymsField;
}
public JButton getSaveButton() {
return saveButton;
}
public JButton getCancelButton() {
return cancelButton;
}
// Main method for testing the UI (optional, but good for development)
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame(); // Create a dummy JFrame for testing
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
AddWordScreen addWordScreen = new AddWordScreen(frame);
addWordScreen.setVisible(true);
});
}
}