Created
June 7, 2022 17:43
-
-
Save MacoChave/3045d14a0393700c919b03e35751fcec to your computer and use it in GitHub Desktop.
Editor con Java Swing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package GUI; | |
import javax.swing.*; | |
import java.awt.*; | |
public class EditorApp extends JFrame { | |
Panel panel; | |
public EditorApp() { | |
super("Compi Editor"); | |
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | |
setSize(1024, 768); | |
setLocationRelativeTo(null); | |
panel = new Panel(); | |
add(panel); | |
} | |
} | |
class Panel extends JPanel { | |
private JMenuBar menuBar; | |
private JMenu menuFile, menuBuild, menuReport, menuHelp; | |
private JMenuItem menuItemNew, menuItemOpen, menuItemSave, menuItemExit, menuItemAnalize, menuItemExecute, menuItemAST, | |
menuItemSymbols, menuItemErrors, menuItemAbout; | |
private JPanel ventana; | |
private JTextPane sourcePane, consolePane; | |
private JLabel cursorPosition; | |
public Panel() { | |
setLayout(new BorderLayout()); | |
setBackground(new java.awt.Color(46, 40, 42)); | |
setSize(1024, 768); | |
setLocation(0, 0); | |
addMenu(); | |
ventana = new JPanel(); | |
ventana.setLayout(new GridLayout(1,2,5,5)); | |
add(ventana, BorderLayout.CENTER); | |
addSourcePane(); | |
addConsolePane(); | |
addCursorPosition(); | |
} | |
public void addMenu() { | |
menuBar = new JMenuBar(); | |
menuBar.setBounds(0, 0, 1024, 25); | |
setBackground(new java.awt.Color(46, 40, 42)); | |
menuBar.setForeground(new java.awt.Color(46, 40, 42)); | |
menuBar.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
addMenuFile(); | |
addMenuBuild(); | |
addMenuReport(); | |
addMenuHelp(); | |
add(menuBar, BorderLayout.NORTH); | |
} | |
private void addMenuFile() { | |
menuFile = new JMenu("File"); | |
menuFile.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuFile.setForeground(new java.awt.Color(46, 40, 42)); | |
menuFile.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemNew = new JMenuItem("New"); | |
menuItemNew.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemNew.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemNew.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemOpen = new JMenuItem("Open"); | |
menuItemOpen.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemOpen.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemOpen.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemSave = new JMenuItem("Save"); | |
menuItemSave.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemSave.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemSave.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemExit = new JMenuItem("Exit"); | |
menuItemExit.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemExit.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemExit.setBackground(new java.awt.Color(46, 40, 42)); | |
menuFile.add(menuItemNew); | |
menuFile.add(menuItemOpen); | |
menuFile.add(menuItemSave); | |
menuFile.addSeparator(); | |
menuFile.add(menuItemExit); | |
menuBar.add(menuFile); | |
} | |
private void addMenuBuild() { | |
menuBuild = new JMenu("Build"); | |
menuBuild.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuBuild.setForeground(new java.awt.Color(46, 40, 42)); | |
menuBuild.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemAnalize = new JMenuItem("Analize"); | |
menuItemAnalize.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemAnalize.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemAnalize.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemExecute = new JMenuItem("Execute"); | |
menuItemExecute.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemExecute.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemExecute.setBackground(new java.awt.Color(46, 40, 42)); | |
menuBuild.add(menuItemAnalize); | |
menuBuild.add(menuItemExecute); | |
menuBar.add(menuBuild); | |
} | |
private void addMenuReport() { | |
menuReport = new JMenu("Report"); | |
menuReport.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuReport.setForeground(new java.awt.Color(46, 40, 42)); | |
menuReport.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemAST = new JMenuItem("AST"); | |
menuItemAST.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemAST.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemAST.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemSymbols = new JMenuItem("Symbols"); | |
menuItemSymbols.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemSymbols.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemSymbols.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemErrors = new JMenuItem("Errors"); | |
menuItemErrors.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemErrors.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemErrors.setBackground(new java.awt.Color(46, 40, 42)); | |
menuReport.add(menuItemAST); | |
menuReport.add(menuItemSymbols); | |
menuReport.add(menuItemErrors); | |
menuBar.add(menuReport); | |
} | |
private void addMenuHelp() { | |
menuHelp = new JMenu("Help"); | |
menuHelp.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuHelp.setForeground(new java.awt.Color(46, 40, 42)); | |
menuHelp.setBackground(new java.awt.Color(46, 40, 42)); | |
menuItemAbout = new JMenuItem("About"); | |
menuItemAbout.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
menuItemAbout.setForeground(new java.awt.Color(255, 255, 255)); | |
menuItemAbout.setBackground(new java.awt.Color(46, 40, 42)); | |
menuHelp.add(menuItemAbout); | |
menuBar.add(menuHelp); | |
} | |
private void addSourcePane() { | |
sourcePane = new JTextPane(); | |
sourcePane.setBounds(0, 0, 1024, 768); | |
sourcePane.setBackground(new java.awt.Color(65, 57, 60)); | |
sourcePane.setForeground(new java.awt.Color(255, 255, 255)); | |
sourcePane.setFont(new java.awt.Font("Monospaced", 0, 14)); | |
sourcePane.setText(""); | |
ventana.add(sourcePane); | |
} | |
private void addConsolePane() { | |
consolePane = new JTextPane(); | |
consolePane.setBounds(0, 768, 1024, 200); | |
consolePane.setBackground(new java.awt.Color(65, 57, 60)); | |
consolePane.setForeground(new java.awt.Color(255, 255, 255)); | |
consolePane.setFont(new java.awt.Font("Monospaced", 0, 14)); | |
consolePane.setText(""); | |
ventana.add(consolePane); | |
} | |
private void addCursorPosition() { | |
cursorPosition = new JLabel("0:0"); | |
cursorPosition.setBounds(0, 0, 100, 20); | |
cursorPosition.setForeground(new java.awt.Color(255, 255, 255)); | |
cursorPosition.setFont(new java.awt.Font("Segoe UI", 0, 12)); | |
add(cursorPosition, BorderLayout.SOUTH); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package GUI; | |
public class EditorController { | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import GUI.EditorApp; | |
public class Main { | |
public static void main(String[] args) { | |
EditorApp app = new EditorApp(); | |
app.setVisible(true); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment