چگونه می توان رویدادهای انتخاب سلول میز را روی صفحه نوسان کنترل کرد؟

Jul 04, 2025

پیام بگذارید

سوفیا تیلور
سوفیا تیلور
سوفیا یکی از کارمندان تدارکات در شرکت فناوری محیط زیست Xinxiang Lanhai ، Ltd. است.

سلام! من به عنوان تأمین کننده صفحه نمایش نوسان ، من سهم منصفانه ای از تجربیات مربوط به انواع جنبه های فنی مربوط به این دستگاه های nifty داشتم. یک سؤال که اغلب مطرح می شود ، نحوه رسیدگی به رویدادهای انتخاب سلول در صفحه نوسان است. در این وبلاگ ، من می خواهم شما را قدم به قدم در روند کار طی کنم و نکات و ترفندهایی را که در طول مسیر انتخاب کرده ام به اشتراک بگذارم.

اول از همه ، بیایید در مورد اینکه چرا رویدادهای انتخاب سلول جدول مهم است صحبت کنیم. هنگامی که با یک صفحه نوسان کار می کنید ، ممکن است یک جدول داشته باشید که مجموعه ای از داده ها را نشان می دهد. و گاهی اوقات ، وقتی کاربر یک سلول خاص را در آن جدول انتخاب می کند ، می خواهید کاری انجام دهید. شاید شما بخواهید اطلاعات دقیق تری در مورد داده های موجود در آن سلول نشان دهید ، یا می خواهید بر اساس انتخاب ، برخی از اقدامات را انجام دهید. به هر دلیلی ، قادر به رسیدگی به این رویدادها به طور مؤثر می تواند تجربه کاربر برنامه شما را تا حد زیادی افزایش دهد.

بنابراین ، چگونه می توانیم در مورد رویدادهای انتخاب سلول جدول استفاده کنیم؟ خوب ، اولین کاری که شما باید انجام دهید درک ساختار اصلی یک جدول در یک برنامه نوسان است. در جاوا نوسان ، جداول توسطjtableکلاس. این کلاس قابلیت های زیادی را برای ایجاد و مدیریت جداول از جمله رسیدگی به رویدادهای انتخاب فراهم می کند.

برای رسیدگی به رویدادهای انتخاب سلول جدول ، باید اضافه کنیدلیست لیستبه مدل انتخاب جدول. مدل انتخاب وظیفه دارد پیگیری کند که سلولها در حال حاضر در جدول انتخاب شده اند. در اینجا یک مثال ساده از نحوه انجام این کار آورده شده است:

وارد کردن javax.swing.*؛ واردات javax.swing.event.listSelectionEvent ؛ واردات javax.swing.event.listSelectionListener ؛ Class Class ClasseLectionExample {عمومی خالی استاتیک اصلی (رشته [] استدلال می کند) {// ایجاد یک رشته جدید jtable [] columnnames = {"name" ، "سن" ، "شهر"} ؛ Object [] [] DATA = {{"جان" ، 25 ، "نیویورک"} ، {"جین" ، 30 ، "لس آنجلس"} ، {"باب" ، 35 ، "شیکاگو"} ؛ جدول jtable = JTable جدید (داده ها ، نام های ستون) ؛ // دریافت مدل انتخاب جدول ListSelectionModel SelectionModel = Table.getSelectionModel () ؛ // اضافه کردن یک listSelectionListener به مدل انتخاب model.addlistSelectionListener (جدید ListSelectionListener () {Override public void voidechanged (listSelectionEvent e) {if (! e.getValueIsAdusting ()) {intreowRow = Table.getSelectedRow (intelectedRow () ؛ intelectedRow () ؛ ! = -1 && selectcolumn! = -1) {شیء انتخاب شده = table.getValueat (انتخاب شده ، SelectedColumn) ؛ // ایجاد یک JFrame و اضافه کردن جدول به آن jframe frame = jframe جدید ("مثال انتخاب جدول") ؛ FRAME.ADD (JScrollPane جدید (جدول)) ؛ frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ frame.pack () ؛ frame.setVisible (درست) ؛ }}

در این مثال ، ابتدا یک جدید ایجاد می کنیمjtableبا برخی از داده های نمونه سپس ، ما مدل انتخاب جدول را دریافت می کنیم و a اضافه می کنیملیست لیستبه آن درپر زرق و برق دارروشلیست لیستهر زمان که انتخاب در جدول تغییر می کند ، نامیده می شود. در داخل این روش ، ما بررسی می کنیم که آیا انتخاب هنوز تنظیم شده است (برای جلوگیری از تماس های متعدد در هنگام کشیدن ماوس برای انتخاب چندین سلول). اگر انتخاب تنظیم نشده باشد ، شاخص های ردیف و ستون انتخاب شده را دریافت می کنیم و سپس با استفاده از مقدار سلول انتخاب شده بازیابی می کنیمgetValueatروشjtableکلاس.

حال ، بیایید بگوییم که هنگام انتخاب سلول می خواهید کاری پیچیده تر انجام دهید. به عنوان مثال ، شما ممکن است بخواهید یک کادر گفتگو با اطلاعات دقیق تر در مورد داده های موجود در سلول انتخاب شده نشان دهید. در اینجا چگونه می توانید مثال قبلی را برای دستیابی به این هدف اصلاح کنید:

وارد کردن javax.swing.*؛ واردات javax.swing.event.listSelectionEvent ؛ واردات javax.swing.event.listSelectionListener ؛ Class Class ClasseLectionExample {عمومی خالی استاتیک اصلی (رشته [] استدلال می کند) {// ایجاد یک رشته جدید jtable [] columnnames = {"name" ، "سن" ، "شهر"} ؛ Object [] [] DATA = {{"جان" ، 25 ، "نیویورک"} ، {"جین" ، 30 ، "لس آنجلس"} ، {"باب" ، 35 ، "شیکاگو"} ؛ جدول jtable = JTable جدید (داده ها ، نام های ستون) ؛ // دریافت مدل انتخاب جدول ListSelectionModel SelectionModel = Table.getSelectionModel () ؛ // اضافه کردن یک listSelectionListener به مدل انتخاب model.addlistSelectionListener (جدید ListSelectionListener () {Override public void voidechanged (listSelectionEvent e) {if (! e.getValueIsAdusting ()) {intreowRow = Table.getSelectedRow (intelectedRow () ؛ intelectedRow () ؛ ! // ایجاد یک JFrame و اضافه کردن جدول به آن jframe frame = jframe جدید ("مثال انتخاب جدول") ؛ FRAME.ADD (JScrollPane جدید (جدول)) ؛ frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ frame.pack () ؛ frame.setVisible (درست) ؛ }}

در این مثال اصلاح شده ، ما ازجوهرکلاس برای نشان دادن یک کادر گفتگو با مقدار انتخاب شده هنگام انتخاب سلول.

کار دیگری که ممکن است بخواهید انجام دهید این است که چندین سلول را انتخاب کنید. به طور پیش فرض ،jtableبه کاربر اجازه می دهد تا با نگه داشتن چندین سلول چندین سلول را انتخاب کندCTRLکلید (در ویندوز) یافرمانکلید (در مک) هنگام کلیک بر روی سلول ها. برای انجام چندین انتخاب سلول ، می توانید از طریق ردیف ها و ستون های انتخاب شده حلقه کنید و عمل مورد نظر را برای هر سلول انتخاب شده انجام دهید. در اینجا یک مثال آورده شده است:

وارد کردن javax.swing.*؛ واردات javax.swing.event.listSelectionEvent ؛ واردات javax.swing.event.listSelectionListener ؛ Class Class ClasseLectionExample {عمومی خالی استاتیک اصلی (رشته [] استدلال می کند) {// ایجاد یک رشته جدید jtable [] columnnames = {"name" ، "سن" ، "شهر"} ؛ Object [] [] DATA = {{"جان" ، 25 ، "نیویورک"} ، {"جین" ، 30 ، "لس آنجلس"} ، {"باب" ، 35 ، "شیکاگو"} ؛ جدول jtable = JTable جدید (داده ها ، نام های ستون) ؛ // دریافت مدل انتخاب جدول ListSelectionModel SelectionModel = Table.getSelectionModel () ؛ // اضافه کردن ListSelectionListener به مدل انتخاب model.addlistSelectionListener (جدید listSelectionListener () {Override void void valechanged (listSelectionEvent e) {if (! e.getValueIsAdusting ()) {int [] relectedRows = Table.GeteSelectedRows () ؛ (int row: selectRows) {for (int col: selectcolumns) {شیء انتخاب شده = table.getValueat (ردیف ، col) ؛ // ایجاد یک JFrame و اضافه کردن جدول به آن jframe frame = jframe جدید ("مثال انتخاب جدول") ؛ FRAME.ADD (JScrollPane جدید (جدول)) ؛ frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ frame.pack () ؛ frame.setVisible (درست) ؛ }}

در این مثال ، ما ازgetSelectedRowsوتgetSelectedColumnsروشهایjtableکلاس برای به دست آوردن آرایه های شاخص های ردیف و ستون انتخاب شده. سپس ، ما از طریق این آرایه ها حلقه می کنیم و مقدار هر سلول انتخاب شده را بازیابی می کنیم.

Paper Tearing MachineHorizontal Reactor

من به عنوان یک تامین کننده صفحه نمایش نوسان ، فهمیدم که این تکنیک ها برای دستیابی به رویدادهای انتخاب سلول جدول می تواند در انواع برنامه ها بسیار مفید باشد. این که آیا شما در حال ساختن یک سیستم مدیریت داده ، یک ابزار گزارشگری یا هر برنامه دیگری است که از جداول استفاده می کند ، قادر به انجام موثرتر می تواند برنامه های شما را به طور مؤثر انجام دهد.

اگر در بازار تجهیزات خمیر کاغذی هستید ، ما همچنین محصولات خوبی مانندمطبوعات پالپ طبل دو چرخ دوتایی،ماشین اشکال کاغذی، وراکتور افقیبشر این محصولات به منظور پاسخگویی به نیازهای صنعت کاغذ پالپ طراحی شده اند و می توانند به شما در بهبود راندمان تولید کمک کنند.

اگر علاقه مند به کسب اطلاعات بیشتر در مورد صفحه های نوسان ما یا سایر محصولات ما هستید ، احساس راحتی کنید تا برای مذاکره خرید به ما دسترسی پیدا کنید. ما همیشه خوشحالیم که کمک می کنیم و منتظر همکاری با شما هستیم!

منابع:

  • "آموزش نوسان جاوا" - اسناد اوراکل
  • "جاوا مؤثر" - جوشوا بلوچ
ارسال درخواست
با ما تماس بگیریداگر سوالی دارید

شما می توانید از طریق تلفن ، ایمیل یا فرم آنلاین در زیر . متخصص ما با ما تماس بگیرید و به زودی با شما تماس می گیرد .

اکنون تماس بگیرید!