Overview
The MySQL SQL Editor uses Java Swing components with a custom color scheme and styling. This reference documents all UI components across the login and editor views.Color Scheme
The application uses a consistent color palette across all views:Primary Color
COLOR_PRIMARIO: #0078D7 (RGB: 0, 120, 215)Used for primary buttons, titles, and bordersSecondary Color
COLOR_SECUNDARIO: #64B4FF (RGB: 100, 180, 255)Used for secondary buttons and accentsBackground Color
COLOR_FONDO: #F5F5F5 (RGB: 245, 245, 245)Used for panel backgroundsText Color
COLOR_TEXTO: #3C3C3C (RGB: 60, 60, 60)Used for general textAdditional colors:
COLOR_ERROR: #DC3232 (RGB: 220, 50, 50) for error messages, and COLOR_BORDE: #C8C8C8 (RGB: 200, 200, 200) for borders.Login View Components
The login view (View.java) provides the initial connection interface to MySQL databases.
Text Input Fields
txtUsuario - Username Field
txtUsuario - Username Field
Type:
JTextFieldLocation: View.java:14, View.java:83-86Properties:- Font: Segoe UI, Plain, 12pt
- Background: White (disabled:
#F0F0F0) - Width: 20 columns
- Trimmed on retrieval via
getUsuario()
txtPassword - Password Field
txtPassword - Password Field
Type:
JPasswordFieldLocation: View.java:15, View.java:96-99Properties:- Font: Segoe UI, Plain, 12pt
- Background: White (disabled:
#F0F0F0) - Width: 20 columns
- Characters masked for security
- Trimmed on retrieval via
getPassword()
Combo Boxes
cmbServidores - Server Selector
cmbServidores - Server Selector
Type:
JComboBox<String>Location: View.java:16, View.java:70-73Properties:- Font: Segoe UI, Plain, 12pt
- Background: White
- Default options:
["localhost", "127.0.0.1"]
cbBasesDatos - Database Selector
cbBasesDatos - Database Selector
Type:
JComboBox<String>Location: View.java:17, View.java:111-114Properties:- Font: Segoe UI, Plain, 12pt
- Background: White
- Dynamically populated via
setBasesDatos(List<String>) - Filters out system databases
Buttons
btnConectar - Connect Button
btnConectar - Connect Button
btnSalir - Exit Button
btnSalir - Exit Button
btnActualizarBases - Refresh Databases Button
btnActualizarBases - Refresh Databases Button
Labels
lblTitulo - Title Label
lblTitulo - Title Label
Type:
JLabelLocation: View.java:22, View.java:55-58Properties:- Text: “CONEXIÓN A MYSQL”
- Font: Segoe UI, Bold, 18pt
- Foreground:
#0078D7(primary color) - Alignment: Center
lblEstado - Status Label
lblEstado - Status Label
Type:
JLabelLocation: View.java:21, View.java:125-128Properties:- Font: Segoe UI, Plain, 12pt
- Foreground:
#DC3232(error color) - Alignment: Center
- Used for displaying error messages
mostrarError(String mensaje)- Display error messagelimpiarEstado()- Clear status message
Editor View Components
The editor view (SqlEditorView.java) provides the SQL query interface after successful connection.
Text Areas
txtConsulta - SQL Query Editor
txtConsulta - SQL Query Editor
Type:
JTextAreaLocation: SqlEditorView.java:18, SqlEditorView.java:70-78Properties:- Font: Consolas, Plain, 14pt (monospace)
- Size: 10 rows × 60 columns
- Tab size: 2 spaces
- Line wrap: Enabled
- Word wrap: Enabled
- Border: Empty padding (5px)
Tables
tblResultados - Results Table
tblResultados - Results Table
Type: Displays query results with dynamic columns based on the result set metadata.
JTableLocation: SqlEditorView.java:19, SqlEditorView.java:181-189Properties:- Font: Segoe UI, Plain, 12pt
- Row height: 22 pixels
- Grid: Hidden
- Column width: 150 pixels (default)
- Fills viewport height
Lists
listaTablas - Tables List
listaTablas - Tables List
Type:
JList<String>Location: SqlEditorView.java:24, SqlEditorView.java:139-156Properties:- Font: Segoe UI, Plain, 12pt
- Background: White
- Selection mode: Single selection
- Model:
DefaultListModel<String> - Titled border: “Tablas disponibles”
- Size: 220×200 pixels
- Double-click generates
SELECT * FROM <table> LIMIT 100query - Tooltip: “Doble clic para generar SELECT”
Buttons
btnEjecutar - Execute Query Button
btnEjecutar - Execute Query Button
btnLimpiar - Clear Button
btnLimpiar - Clear Button
btnRefrescarTablas - Refresh Tables Button
btnRefrescarTablas - Refresh Tables Button
btnCambiarBD - Change Database Button
btnCambiarBD - Change Database Button
Text Fields
txtBaseDeDatos - Database Status Field
txtBaseDeDatos - Database Status Field
Type:
JTextFieldLocation: SqlEditorView.java:23, SqlEditorView.java:87-97Properties:- Editable: False (read-only)
- Font: Segoe UI, Plain, 12pt
- Background:
#E6F0FF(light blue) - Border: 1px line with 5-8px padding
- Height: 35 pixels
- Connected: “Conectado a: ”
- Disconnected: “Estado: No conectado”
Labels
lblMensajeSistema - System Message Label
lblMensajeSistema - System Message Label
Type: Displays execution status, row counts, or error messages.
JLabelLocation: SqlEditorView.java:26, SqlEditorView.java:191-194Properties:- Font: Segoe UI, Plain, 12pt
- Foreground: Dark gray
- Border: Empty padding (5px top/bottom)
- Position: Top of results panel
Button Styling
Both views use a consistent button styling method:Primary Buttons
Source:View.java:157-183, SqlEditorView.java:206-227
- Background:
#0078D7 - Foreground: White
- Font: Segoe UI, Bold
- No focus painting or border painting
- Hover: Darker shade of primary color
- Background:
#64B4FF - Foreground:
#3C3C3C - Font: Segoe UI, Bold
- Hover: Darker shade of secondary color
UI State Management
bloquearInterfaz - Interface Locking
bloquearInterfaz - Interface Locking
Method:
View.bloquearInterfaz(boolean bloquear)Location: View.java:239-252Purpose: Disables/enables all input components during async operationsAffected Components:cmbServidorestxtUsuariotxtPasswordcbBasesDatosbtnActualizarBasesbtnConectar
- Background changes to
#F0F0F0when locked - Background returns to White when unlocked
Layout Details
Login View Layout
Layout Manager:GridBagLayout
Panel Configuration:
- Border:
EmptyBorder(15, 20, 15, 20) - Insets:
8pxon all sides - Fill: Horizontal
- Weight X: 1
Editor View Layout
Layout Manager:BorderLayout with JSplitPane
Split Configuration:
- Orientation: Vertical
- Resize weight: 0.35 (35% top, 65% bottom)
- Divider size: 3 pixels
- Normal: Segoe UI, Plain, 12pt
- Monospace: Consolas, Plain, 14pt
- Title: Segoe UI, Bold, 14pt